package com.wyl.neo4j.respository;

import com.wyl.neo4j.entity.node.Person;
import org.springframework.data.neo4j.repository.Neo4jRepository;
import org.springframework.data.neo4j.repository.query.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
//public interface PersonRepository extends Neo4jRepositoryBase<Person, Long> {
public interface PersonRepository extends Neo4jRepository<Person, Long> {

    @Query("MATCH (p:person) WHERE p.name = $name RETURN p")
    List<Person> findByName(@Param("name") String name);



//    /**
//     * @param pId 父节点
//     * @return 查询某个节点的所有子节点
//     **/
//    @Query("Match (p:person) -[*]->(s:person) where id(p)={0} return s")
//    List<Person> findChildList(Long pId);
//
//    @Query("Match (p:person {name:{0}}) -[*]->(s:person) return s")
//    List<Person> findChildList(String name);
//
//    /**
//     * @param name 当前节点
//     * @return 查询当前节点的父节点
//     **/
//    @Query("Match (p:person) -[*]->(s:person {name:{0}}) return p")
//    List<Person> findParentList(String name);

}